package cn.luischen.controller.admin;

import java.io.IOException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.luischen.constant.LogActions;
import cn.luischen.constant.WebConst;
import cn.luischen.controller.BaseController;
import cn.luischen.exception.BusinessException;
import cn.luischen.model.UserDomain;
import cn.luischen.service.log.LogService;
import cn.luischen.service.user.UserService;
import cn.luischen.utils.APIResponse;
import cn.luischen.utils.IPKit;
import cn.luischen.utils.TaleUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import static org.junit.Assert.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import org.junit.Rule;
import org.junit.runner.RunWith;
import org.junit.rules.ExpectedException;
import org.junit.Test;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.stubbing.Answer;
import java.lang.reflect.Method;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.parser.ParserConfig;
import java.util.Map;
import java.util.List;
import com.unitspirit.runtime.*;
/**
 * The class contains tests for the class cn.luischen.controller.admin.AuthController.
*
* @generatedBy UnitSpirit CreateTemplateTestFile4
* @version 1.0.9.11 
*/
@PowerMockIgnore({"javax.management.*"})
public class AuthController_checkData_WGTest {
  @Rule  
  public ExpectedException unitspirit_thrown= ExpectedException.none();
  /**
  * 测试方法初始化.
  * 
  * @throws Exception 
  *         if the initialization fails for some reason 
  *  
  * @generatedBy UnitSpirit at 2021-12-08 11:01:11
  */  
 @org.junit.Before 
  public void setUp()  throws Exception 
  { 
    try{
    GlobalUnitInit.init(); 
    MockitoAnnotations.initMocks(this);
   ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
}catch(Exception ex){
  ex.printStackTrace();
}
  }

  
@InjectMocks 
cn.luischen.controller.admin.AuthController unitspirit_fixture;

@Mock 
cn.luischen.service.user.UserService mock_UserService;
@Mock 
cn.luischen.service.log.LogService mock_LogService;

  /**
  * @date 2021-12-08 11:01:12
  * @see cn.luischen.controller.admin.AuthController#checkData
  * @category null  
  * @author UnitSpirit   
  */
  @Test
  public void test_checkData_0707_204403_287_1_01() throws Throwable {
    //被测函数参数定义
    javax.servlet.http.HttpServletRequest HttpServletRequest_p_0 = Mockito.mock(javax.servlet.http.HttpServletRequest.class);
  //成员变量设置


    //返回值定义 
    String result_expected = "false";

  
    String String_mock1_0 = "1";
    String String_mock1_1 = "2";
  cn.luischen.exception.BusinessException sub_UserDomain1 = JSON.parseObject("{\"@type\":\"cn.luischen.exception.BusinessException\",\"errorCode\":\"用户名不存在或密码错误\",\"errorMessageArguments\":[]}",cn.luischen.exception.BusinessException.class);
    PowerMockito.doThrow( sub_UserDomain1).when(mock_UserService,"login",anyString(),anyString());


    Boolean  unitspirit_result =  unitspirit_fixture.checkData(HttpServletRequest_p_0);
    boolean obj_expected = JSON.parseObject(result_expected,boolean.class);
    UnitAssert.assertEquals(UnitSpiritFastJsonUtil.getJsonString2(obj_expected),UnitSpiritFastJsonUtil.getJsonString2(unitspirit_result));
  }
  /**
  * @date 2021-12-08 11:01:12
  * @see cn.luischen.controller.admin.AuthController#checkData
  * @category null  
  * @author UnitSpirit   
  */
  @Test
  public void test_checkData_0831_205544_888_1_01() throws Throwable {
    //被测函数参数定义
    javax.servlet.http.HttpServletRequest HttpServletRequest_p_0 = Mockito.mock(javax.servlet.http.HttpServletRequest.class);
  //成员变量设置


    //返回值定义 
    String result_expected = "false";

  
    String String_mock1_0 = "1";
    String String_mock1_1 = "2";
  cn.luischen.exception.BusinessException sub_UserDomain1 = JSON.parseObject("{\"@type\":\"cn.luischen.exception.BusinessException\",\"errorCode\":\"用户名不存在或密码错误\",\"errorMessageArguments\":[]}",cn.luischen.exception.BusinessException.class);
    PowerMockito.doThrow( sub_UserDomain1).when(mock_UserService,"login",anyString(),anyString());


    Boolean  unitspirit_result =  unitspirit_fixture.checkData(HttpServletRequest_p_0);
    boolean obj_expected = JSON.parseObject(result_expected,boolean.class);
    UnitAssert.assertEquals(UnitSpiritFastJsonUtil.getJsonString2(obj_expected),UnitSpiritFastJsonUtil.getJsonString2(unitspirit_result));
  }
  /**
  * @date 2021-12-08 11:01:12
  * @see cn.luischen.controller.admin.AuthController#checkData
  * @category null  
  * @author UnitSpirit   
  */
  @Test
  public void test_checkData_0901_203950_846_1_01() throws Throwable {
    //被测函数参数定义
    javax.servlet.http.HttpServletRequest HttpServletRequest_p_0 = Mockito.mock(javax.servlet.http.HttpServletRequest.class);
  //成员变量设置


    //返回值定义 
    String result_expected = "false";



    Boolean  unitspirit_result =  unitspirit_fixture.checkData(HttpServletRequest_p_0);
    boolean obj_expected = JSON.parseObject(result_expected,boolean.class);
    UnitAssert.assertEquals(UnitSpiritFastJsonUtil.getJsonString2(obj_expected),UnitSpiritFastJsonUtil.getJsonString2(unitspirit_result));
  }
  /**
  * @date 2021-12-08 11:01:12
  * @see cn.luischen.controller.admin.AuthController#checkData
  * @category null  
  * @author UnitSpirit   
  */
  @Test
  public void test_checkData_1207_114145_590_1_01() throws Throwable {
    //被测函数参数定义
    javax.servlet.http.HttpServletRequest HttpServletRequest_p_0 = Mockito.mock(javax.servlet.http.HttpServletRequest.class);
  //成员变量设置


    //返回值定义 
    String result_expected = "false";

  
    String String_mock1_0 = "1";
    String String_mock1_1 = "2";
  cn.luischen.exception.BusinessException sub_UserDomain1 = JSON.parseObject("{\"@type\":\"cn.luischen.exception.BusinessException\",\"errorCode\":\"用户名不存在或密码错误\",\"errorMessageArguments\":[]}",cn.luischen.exception.BusinessException.class);
    PowerMockito.doThrow( sub_UserDomain1).when(mock_UserService,"login",anyString(),anyString());


    Boolean  unitspirit_result =  unitspirit_fixture.checkData(HttpServletRequest_p_0);
  UnitAssert.assertEquals(result_expected,UnitSpiritFastJsonUtil.getJsonString2(unitspirit_result));
  }
  /**
  * @date 2021-12-08 11:01:12
  * @see cn.luischen.controller.admin.AuthController#checkData
  * @category null  
  * @author UnitSpirit   
  */
  @Test
  public void test_checkData_20210609_175420_949_1_01() throws Throwable {
    //被测函数参数定义
    javax.servlet.http.HttpServletRequest HttpServletRequest_p_0 = Mockito.mock(javax.servlet.http.HttpServletRequest.class);
  //成员变量设置


    //返回值定义 
    String result_expected = "false";

  
    String String_mock1_0 = "1";
    String String_mock1_1 = "2";
  cn.luischen.exception.BusinessException sub_UserDomain1 = JSON.parseObject("{\"@type\":\"cn.luischen.exception.BusinessException\",\"errorCode\":\"用户名不存在或密码错误\",\"errorMessageArguments\":[]}",cn.luischen.exception.BusinessException.class);
    PowerMockito.doThrow( sub_UserDomain1).when(mock_UserService,"login",anyString(),anyString());


    Boolean  unitspirit_result =  unitspirit_fixture.checkData(HttpServletRequest_p_0);
  UnitAssert.assertEquals(result_expected,UnitSpiritFastJsonUtil.getJsonString2(unitspirit_result));
  }
}